/**
 * @file NewProtocolCurtisDHL.h
 * @author SoBigDog (luke@seer-robotics.com)
 * @brief 
 * @version 0.1
 * @date 2019-11-13
 * 
 * @copyright Copyright (c) 2019
 * 
 */
#pragma once

#include "ProtocolDriver.h"

class CNewProtocolCurtisDHL : public CDriverProtocol
{
public:
	CNewProtocolCurtisDHL();
	virtual ~CNewProtocolCurtisDHL(){}
	virtual void setMotorId(uint32_t id) {
		_motorId = id;
		if (_motorType == 6) {
			_motorRxId = 0x204;	
		} else {
			_motorRxId = 0x206;
		}

		_motorTxId = 0x000;
	}
	
	virtual bool encode(motorDriverCmdType ct, int32_t val);
	//virtual int decode(motorDriverCmdType (&ct)[10], int32_t (&val)[10], const CanRxMsg&);
	//virtual bool lifeguard(CanTxMsg& msg);
private:
	static int16_t _speedVal;
	static int16_t _forkVel;
	static int16_t _lift_flag;
	static int16_t _lower_flag;
	static int16_t _forwardVel;
	static int16_t _go_ahead_flag;
	static int16_t _go_back_flag;
};
